function Z() {
  this.a = [];
  this.i = [];
  this.G = [];
  this.n = [];
  this.n[0] = 128;
  for(var a = 1;a < 64;++a) {
    this.n[a] = 0
  }
  this.reset()
}
Z.prototype.reset = function() {
  this.a[0] = 1732584193;
  this.a[1] = 4023233417;
  this.a[2] = 2562383102;
  this.a[3] = 271733878;
  this.a[4] = 3285377520;
  this.o = this.e = 0
};
function $(a, b) {
  for(var c = a.G, d = 0;d < 64;d += 4) {
    c[d / 4] = b[d] << 24 | b[d + 1] << 16 | b[d + 2] << 8 | b[d + 3]
  }
  for(d = 16;d < 80;d++) {
    c[d] = ((c[d - 3] ^ c[d - 8] ^ c[d - 14] ^ c[d - 16]) << 1 | (c[d - 3] ^ c[d - 8] ^ c[d - 14] ^ c[d - 16]) >>> 31) & 4294967295
  }
  var g = a.a[0], e = a.a[1], f = a.a[2], h = a.a[3], j = a.a[4], i, o;
  for(d = 0;d < 80;d++) {
    if(d < 40) {
      if(d < 20) {
        i = h ^ e & (f ^ h);
        o = 1518500249
      }else {
        i = e ^ f ^ h;
        o = 1859775393
      }
    }else {
      if(d < 60) {
        i = e & f | h & (e | f);
        o = 2400959708
      }else {
        i = e ^ f ^ h;
        o = 3395469782
      }
    }
    i = ((g << 5 | g >>> 27) & 4294967295) + i + j + o + c[d] & 4294967295;
    j = h;
    h = f;
    f = (e << 30 | e >>> 2) & 4294967295;
    e = g;
    g = i
  }
  a.a[0] = a.a[0] + g & 4294967295;
  a.a[1] = a.a[1] + e & 4294967295;
  a.a[2] = a.a[2] + f & 4294967295;
  a.a[3] = a.a[3] + h & 4294967295;
  a.a[4] = a.a[4] + j & 4294967295
}
Z.prototype.update = function(a, b) {
  if(!b) {
    b = a.length
  }
  var c = 0;
  if(this.e == 0) {
    for(;c + 64 < b;) {
      $(this, a.slice(c, c + 64));
      c += 64;
      this.o += 64
    }
  }
  for(;c < b;) {
    this.i[this.e++] = a[c++];
    this.o++;
    if(this.e == 64) {
      this.e = 0;
      for($(this, this.i);c + 64 < b;) {
        $(this, a.slice(c, c + 64));
        c += 64;
        this.o += 64
      }
    }
  }
};
Z.prototype.s = function() {
  var a = [], b = this.o * 8;
  this.e < 56 ? this.update(this.n, 56 - this.e) : this.update(this.n, 64 - (this.e - 56));
  for(var c = 63;c >= 56;c--) {
    this.i[c] = b & 255;
    b >>>= 8
  }
  $(this, this.i);
  for(c = b = 0;c < 5;c++) {
    for(var d = 24;d >= 0;d -= 8) {
      a[b++] = this.a[c] >> d & 255
    }
  }
  return a
};fb(X, new Y("deps", function() {
  var a = new Z;
  a.update("This is the Deps module");
  a = a.s();
  var b = J("div");
  b.innerHTML = "Module hash: " + a.join("");
  I("status").appendChild(b)
}));fb(X, new Y("deps", function() {
  var a = J("div");
  a.innerHTML = "Dep Module loaded!";
  I("status").appendChild(a)
}));
